html,
body {
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient( antiquewhite, navajowhite);
}

.sea {
    position: relative;
    overflow: hidden;
    width: 400px;
    height: 300px;
    background: whitesmoke;
    background-image: linear-gradient( darkblue, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.5));
    border-radius: 5px;
    box-shadow: 0px 2px 30px rgba(0, 0, 0, 0.2);
}

.sea .title {
    z-index: 999;
    position: absolute;
    width: 100%;
    color: white;
    font-size: 25px;
    text-align: center;
    line-height: 250px;
    text-transform: uppercase;
    /* 字母间距 */
    letter-spacing: 0.5em;
}

.sea .wave {
    position: absolute;
    width: 500px;
    height: 500px;
    left: -50px;
    top: -250px;
    background: deepskyblue;
    filter: opacity(0.4);
    border-radius: 43%;
    animation: drift linear infinite;
    transform-origin: 50% 40%;
}

.sea .wave:nth-of-type(1) {
    animation-duration: 5s;
}

.sea .wave:nth-of-type(2) {
    animation-duration: 7s;
}

.sea .wave:nth-of-type(3) {
    animation-duration: 9s;
    background: red;
    filter: opacity(0.1);
}

@keyframes drift {
    from {
        transform: rotate(360deg);
    }
}